package com.livery.app.controller;

import java.util.Date;

import com.livery.data.Booking;
import com.livery.data.Car;
import com.livery.data.Client;
import com.livery.data.Transaction;
import com.livery.data.Worker;
import com.livery.data.creators.Creator;


public interface AbstractWorkspaceController {
	
	public boolean downloadCarList(int limit, int offset);
	public boolean downloadWorkerList(int limit, int offset);
	public boolean downloadClientList(int limit, int offset);
	public boolean downloadTransactionList(int limit, int offset);
	public boolean downloadBookingList(int limit, int offset);
	
	public void searchClient(String name, String surname, String documentID);
	public void searchCar(String make, String model, Date productionYear);
	public void addCar();
	public void addClient();
	public void addTransaction(Client client,Car car);
	public void addWorker();
	//public void addBooking()
	
	public void archiveCar(Car car);
	public void archiveClient(Client client);
	public void archiveTransaction(Transaction transaction);
	public void archiveWorker(Worker worker);
	
	public void finalizeTransaction();
	public void removeBooking(Booking booking);
	public void showCreator(Creator<?> creator);
	
	public void updateCar(Car car);
	public void updateClient(Client client);
	public void updateTransaction(Transaction transaction);
	public void updateWorker(Worker worker);
	
	
}
